1. The Field of the Invention
The present invention relates to computing technology; and more specifically, to the automated generation of computer-executable compensation procedures that, when executed, at least partially undo the effects of previously executed methods.
2. Background and Related Art
Computing technology has transformed the way we work and play. Computing systems now take a wide variety of forms including desktop computers, laptop computers, tablet PCs, Personal Digital Assistants (PDAs), household devices and the like. In its most basic form, a computing system includes system memory and one or more processors. Software in the system memory may be executed by the processor to direct the other hardware of the computing system to perform desired functions.
The hardware capability of computing systems is rapidly advancing. To utilize this increased capability, software is performing an ever increasing variety of functionality. Such complex software is drafted by computer programmers who collectively draft often many thousands of lines of code. This complexity is made manageable by drafting subroutines or methods that perform more specific actions. The methods are then interrelated to perform the more complex functionality of the software as a whole. These methods receive zero or more input parameters, perform the specific function using those input parameters (if any), and then generate zero or more output parameters.
On occasion, it may be desirable for software to undo actions that it previously performed. Often, however, one or more actions are part of a larger transaction. Once the transaction is committed, however, the transaction is typically not undone. Even if the transaction is to be undone, custom software would typically need to be developed for this purpose. What would therefore be advantageous are mechanisms in which the effects of transactions may be at least partially undone even after the transaction is already committed, and without require custom software to undo the transaction.